/*
 * 文件名：RollingFileService.java
 * 版权：亚信联创版权所有
 * 描述：TODO
 * 修改人：xuwei3
 * 修改时间：2015年11月12日
 * 修改内容：TODO
 */
package com.ailk.bigdata.etl.realstream.server.service;

import com.ailk.bigdata.etl.realstream.server.model.RealStreamUnit;
import com.ailk.bigdata.etl.realstream.server.service.impl.RollingFileWriter;

/**
 * @description 数据转流数据文件处理
 * @author [xuwei3]
 * @version [版本号,2015-11-12]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface RollingFileService
{
	/**
	 * 
	 * @description 获取数据文件落地处理方法
	 * @param rollInterval
	 *            新建文件间隔时间
	 * @param rollSize
	 *            单个文件大小
	 * @param batchSize
	 *            批量写入文件大小
	 * @param filePath
	 *            文件路径
	 * @param fileName
	 *            新建文件名规则
	 * @return
	 */
	public RollingFileWriter getRunnable(int rollInterval, String filePath, String fileName);

	/**
	 * @description 落地文件管理，每隔一段时间删除落地文件
	 * @param rStreamUnit
	 * @param poolSize
	 */
	public void filePathManager(RealStreamUnit rStreamUnit, int poolSize);

	/**
	 * @description 上传hdfs文件
	 * @param rStreamUnit
	 */
	public void uploadHdfs(RealStreamUnit rStreamUnit);
}
